The advancement of runtime environments that are embedded in web browsers, such as Java, JavaScript and Flash has given rise to an increase in the development of rich Internet or web applications. Many such web applications are client applications that are remotely downloaded through the web browser and executed in an embedded runtime environment that is installed into the web browser. These web applications often interact with remote servers to provide users with sophisticated user interfaces and access to media and content available across the Internet.
Troubleshooting and debugging web applications can be difficult due to the interactions that the web applications have with remote servers. Bugs discovered and reported during quality assurance testing are often difficult to replicate by a developer assigned to resolve such reported bugs due to the dependencies of interacting with such remote servers and the complexities of the installed runtime environments. Due to such difficulties, web application developers typically insert log statements into the source code of the web application to record the state of the runtime environment during executed sessions to assist in troubleshooting. However, whether the resulting generated log files provide sufficient information about a particular reported bug is highly dependent upon where such log statements have been inserted within the source code and the level of detail provided in such log statements.